package Case;

import java.io.File;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 周斌
 * Date: 2024-06-29
 * Time: 20:06
 */
public class Deom1 {
    public static void main(String[] args) {
        //1.输入基本信息
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要搜索的目录：");
        String rootPath = scanner.nextLine();
        System.out.println("请输入要查找的词");
        String searchWord = scanner.nextLine();
        //2.对要搜索的目录进行判断是否合法
        File rootFile = new File(rootPath);
        System.out.println(rootFile.getAbsoluteFile());
        if(!rootFile.isDirectory()) {
            System.out.println("输入的目录不合法");
            return;
        }
        //3.递归搜索
        searchFile(rootFile,searchWord);
    }

    private static void searchFile(File rootFile, String searchWord) {
        Scanner scanner = new Scanner(System.in);
        //列出当前目录所有的文件或子目录
        File[] files = rootFile.listFiles();
        //判断目录是否为空目录，也可以作为递归结束的条件
        if(files == null) {
            return;
        }
        //判断是不是普通文件，不是则递归子目录
        for (File f: files) {
            if(f.isFile()) {
                //将文件与要查找的词比较，相同则返回该词的绝对路径
                String fName = f.getName();
                if(fName.contains(searchWord)) {
                    System.out.println("删除文件：0，保留文件：1");
                    int ret = scanner.nextInt();
                    while(ret != 0) {
                        if (ret == 1) {
                            System.out.println("保留文件");
                        } else {
                            System.out.println("输入错误");
                        }
                    }
                    if(f.delete()) {
                        System.out.println("删除成功");
                    }

                }
                //是子目录
            } else if(f.isDirectory()) {
                //递归子目录
                searchFile(f,searchWord);
            }
        }
    }
}
